export function isValid(s: string): boolean {
    const map = new Map<string, string>();
    map.set(')', '(');
    map.set(']', '[');
    map.set('}', '{');
    const stack: string[] = [];

    for (let i = 0; i < s.length; i++) {
        if (map.has(s[i])) {
            if (stack.pop() !== map.get(s[i])) {
                return false;
            }
        } else {
            stack.push(s[i]);
        }
    }
    if (stack.length > 0) return false;

    return true;
}